﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using sdk_cop;
using System.Runtime.Serialization;

namespace sdk_cop
{
    public class B2cPassfreeAgreementSignRequestV1 : AbstractIcbcRequest<IcbcResponse>
    {

        public override Type getResponseClass()
        {
            return Type.GetType("sdk_cop.B2cPassfreeAgreementSignRequestV1"); ;
        }

        public override bool isNeedEncrypt()
        {
            return false;
        }

        public override Type getBizContentClass()
        {
            return Type.GetType("sdk_cop" + ".B2cPassfreeAgreementSignRequestV1+B2cPassfreeAgreementSignRequestV1Biz", true, true);
        }

        public override string getMethod()
        {
            return "POST";
        }

        [DataContract]
        public class B2cPassfreeAgreementSignRequestV1Biz : BizContent
        {
            [DataMember]
            private string external_id;
            [DataMember]
            private string sign_validity_period;
            [DataMember]
            private string merchant_id;
            [DataMember]
            private string external_agreement_no;
            [DataMember]
            private string merchant_acct;
            [DataMember]
            private string merchant_type;
            [DataMember]
            private string support_card_type;
            [DataMember]
            private string return_url;
            [DataMember]
            private string notify_url;
            [DataMember]
            private string merchant_var;

            public string getExternalId()
            {
                return external_id;
            }

            public void setExternalId(string externalId)
            {
                this.external_id = externalId;
            }

            public string getSignValidityPeriod()
            {
                return sign_validity_period;
            }

            public void setSignValidityPeriod(string signValidityPeriod)
            {
                this.sign_validity_period = signValidityPeriod;
            }

            public string getMerchantId()
            {
                return merchant_id;
            }

            public void setMerchantId(string merchantId)
            {
                this.merchant_id = merchantId;
            }

            public string getExternalAgreementNo()
            {
                return external_agreement_no;
            }

            public void setExternalAgreementNo(string externalAgreementNo)
            {
                this.external_agreement_no = externalAgreementNo;
            }

            public string getMerchantAcct()
            {
                return merchant_acct;
            }

            public void setMerchantAcct(string merchantAcct)
            {
                this.merchant_acct = merchantAcct;
            }

            public string getMerchantType()
            {
                return merchant_type;
            }

            public void setMerchantType(string merchantType)
            {
                this.merchant_type = merchantType;
            }

            public string getSupportCardType()
            {
                return support_card_type;
            }

            public void setSupportCardType(string supportCardType)
            {
                this.support_card_type = supportCardType;
            }

            public string getReturnUrl()
            {
                return return_url;
            }

            public void setReturnUrl(string returnUrl)
            {
                this.return_url = returnUrl;
            }

            public string getNotifyUrl()
            {
                return notify_url;
            }

            public void setNotifyUrl(string notifyUrl)
            {
                this.notify_url = notifyUrl;
            }

            public string getMerchantVar()
            {
                return merchant_var;
            }

            public void setMerchantVar(string merchantVar)
            {
                this.merchant_var = merchantVar;
            }
        }
    }
}
